import { IUser } from './common.interface';

export interface ICreateRoomData {
  name: string;
  creator: IUser;
}

export interface IResponse {
  result: boolean;
  message: string;
  data?: any;
}

export type ICallBack = (res: IResponse) => void;

/* 房间实时值 */
export interface IRoomRealValue {
  [room_id: string]: {
    /* 用作检测房间内灯光强度，只有所有设备数据值中的最大光照强度小于设定值，才判定当前为关灯状态 */
    illuSensor: Array<{
      devid: string /* 这里需要注意光照设备分为单设备和复合设备，但是复合设备中有且仅有一个光照设备，所以这里复合设备中的光照设备devid用的就是复合设备id */;
      value: number;
    }>;
    /* 用作检测房间内是否有人，只有所有人体感应设备同时达到没人状态才判定为没人 */
    bodySensor: Array<{
      devid: string /* 这里需要注意人体感应设备分为单设备和复合设备，但是复合设备中有且仅有一个人体感应设备，所以这里复合设备中的人体设备devid用的就是复合设备id */;
      value: 'ON' | 'OFF';
    }>;
    /* 用作保存房间空调设备状态 */
    ac: Array<{
      devid: string /* 这里需要注意空调控制设备分为单设备和复合设备，但是复合设备中有且仅有一个空调控制设备，所以这里复合设备中的空调设备devid用的就是复合设备id */;
      value: 'ON' | 'OFF';
    }>;
  } | any
}
